1. Field of the Invention
The present invention relates to a method and system for processing wait window information, for example the display of so-called “wait windows”.
2. Description of the Related Art
When a program is run on a computer the program does one or more jobs, i.e. fulfills the work that is defined by the underlying program instructions.
A job can be simple and short to be done, for example an addition of two integer numbers. But the job can also be very complex and the time period required for the computer to complete the job may be long, for example 20 seconds. When the program is to be used with a person, i.e. has a man-machine interface such as display facilities and entering facilities, then during the above-mentioned longer time periods required for doing a job usually some wait window information, as for example a wait window, is displayed to the user in order to inform him about the fact that a particular job may last some time in order to avoid the impression that the computer is inactive, as for example when the program has entered an endless loop. Such wait windows are used very frequently, for example while installing a new piece of software on a computer. Wait window information of this type is also referred to herein as “non-modal” information (NMI), since its purpose is merely to inform the user and not to elicit a response.
Nowadays, commercially available computers or computing devices offer different levels of computing performance. At the low end there are handheld computers or handheld computing devices, as e.g. organizers, mobile phones, smart phones and the like and personal computers (PCs) several years old having a clock speed of less than 100 megahertz (MHz). On the other hand, clock speeds of more than 1 gigahertz (GHz) are provided on a modem state-of-the-art PC. Thus, in a standalone situation the above-mentioned wait window may be displayed, for example, during 3 seconds when a given program is run on a 100-MHz PC, whereas it will be displayed for only 0.3 seconds when the program is run on a 1-GHz PC. Of course, the precise time periods may differ to some degree due to a plurality of side effects. Such a short display of wait windows, or more generally display of wait window information—i.e., information whose display does not require any user reaction such as doing a user input or the like—is usually confusing to the person who is confronted with the short display. This holds even more when the person is confronted with short displays during longer periods or during his total working time in a working day.
Further, the above-described problem situation producing the above-mentioned short time displays occurs in many other situations: for example, an application program may access a database. During the read access or a write transaction into the database, often such a wait window is displayed to the user. The wait window disappears when the access has completed. In a situation in which the database is quite empty the access time will be short, whereas it will be longer when the database is filled up with data. Thus, simply avoiding the display of wait windows does not improve the man-machine interface because the wait window transports useful information to the person dealing with the program, supposing the program task which is the reason for displaying the wait window is running at least some seconds or the like before it completes. The problem is that in most cases a task run time can hardly be predicted. Amongst the above-mentioned technical problems of different computing resources or different access times to databases or similar data management systems, other important technical facilities may increase or decrease the time period in which a given program task can complete; even in a standalone PC a plurality of tasks may run concurrently. In a networked computing device the arrival of data may be delayed when the network traffic is large. When the transmitted data is needed for completing the task the task period is dependent on the transmission time. This effect makes the situation quite complex because it is a basic aim of any software development to offer one and the same piece of software to as many clients, platforms and operating systems as possible.
Finally, a further factor should be mentioned which also contributes to the difficulty to predict any given task period: modern computer languages such as Java are platform-independent and thus basically adapted to produce Internet applications. In particular, the Java language has been developed very rapidly in the last few years so that modem Java programs run much quicker than older versions. (Java is a trademark of Sun Microsystems, Inc.)